//package com.cskaoyan.rocketmq.order;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.rocketmq.client.exception.MQBrokerException;
//import org.apache.rocketmq.client.exception.MQClientException;
//import org.apache.rocketmq.client.producer.DefaultMQProducer;
//import org.apache.rocketmq.client.producer.SendResult;
//import org.apache.rocketmq.client.producer.SendStatus;
//import org.apache.rocketmq.common.message.Message;
//import org.apache.rocketmq.remoting.exception.RemotingException;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.PostConstruct;
//import java.io.UnsupportedEncodingException;
//
///**
// * 创建日期: 2023/01/12 16:43
// *
// * @author ciggar
// */
//@Slf4j
//@Component
//public class DelayOrderCancelProducer {
//
//    // 初始化 启动 producer
//    DefaultMQProducer producer;
//
//
//    // 这个注解修饰的方法，会在类被Spring容器初始化的时候调用
//    @PostConstruct
//    public void init(){
//
//        // 1. 创建消息消费者
//        producer = new DefaultMQProducer("delay_order_producer_group");
//
//        // 2. 设置注册中心
//        producer.setNamesrvAddr("localhost:9876");
//
//        // 3. 启动
//        try {
//            producer.start();
//        } catch (MQClientException e) {
//            e.printStackTrace();
//        }
//        log.info("DelayOrderCancelProducer started ...");
//
//    }
//
//
//
//    // 发送订单超时取消的方法
//    public boolean sendOrderDelayMessage(String orderId) throws UnsupportedEncodingException, InterruptedException, RemotingException, MQClientException, MQBrokerException {
//
//        // 创建一个消息对象
//        Message message = new Message("delay_order_topic",orderId.getBytes("utf-8"));
//
//        // 设置消息的延迟级别 (10s)
//        message.setDelayTimeLevel(3);
//
//
//        // 使用已经初始化完成的producer发送消息
//        SendResult sendResult = producer.send(message);
//
//        if (sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
//            return true;
//        }
//        return false;
//
//    }
//
//}
